package com.rc.saas.tenant.service.finance;


import com.github.pagehelper.PageInfo;
import com.rc.saas.tenant.base.BaseService;
import com.rc.saas.tenant.mapper.rc.RcOperatorAccountRecordMapper;
import com.rc.saas.tenant.model.rc.RcOperatorAccountRecord;
import com.rc.saas.tenant.model.rc.RcOperatorAccountRecordExample;
import com.rc.saas.tenant.search.rc.RcOperatorAccountRecordSearch;
import com.rc.saas.tenant.vo.rc.ExportRcOperatorAccountRecordVo;
import com.rc.saas.tenant.vo.rc.RcOperatorAccountRecordData;
import com.rc.saas.tenant.vo.rc.RcOperatorAccountRecordStatistics;

import java.util.List;

public interface RcOperatorAccountRecordService extends BaseService<Long, RcOperatorAccountRecord, RcOperatorAccountRecordExample, RcOperatorAccountRecordMapper> {

    /**
     * 资金交易流水明细列表查询
     * @param rcOperatorAccountRecordSearch
     * @return
     */
    PageInfo<RcOperatorAccountRecord> searchByCondition(RcOperatorAccountRecordSearch rcOperatorAccountRecordSearch);

    /**
     * 资金交易流水明细列表统计
     * @param rcOperatorAccountRecordSearch
     * @return
     */
    RcOperatorAccountRecordStatistics rcOperatorAccountRecordStatistics(RcOperatorAccountRecordSearch rcOperatorAccountRecordSearch);

    /**
     * 导出资金交易流水明细列表查询
     * @param rcOperatorAccountRecordSearch
     * @return
     */
    List<ExportRcOperatorAccountRecordVo> exportRcOperatorAccountRecord(RcOperatorAccountRecordSearch rcOperatorAccountRecordSearch);

    /**
     * 更新入账时间
     * @param info
     */
    void updateTimeByPrimaryKey(RcOperatorAccountRecord info);


    /**
     * 资金交易流水明细数据录入（API）
     * @param rcOperatorAccountRecordData
     * @return
     */
    void insertRcOperatorAccountRecord(RcOperatorAccountRecordData rcOperatorAccountRecordData);


    //PageInfo<RechargeOrderResultVo> listPageRechargeOrderDetail(RechargeOrderSearch rechargeOrderSearch);

    //RechargeOrderStatisticsVo selectRechargeOrderStatistics(RechargeOrderSearch rechargeOrderSearch);

    //List<RechargeOrderExportVo> rechargeOrderExport(RechargeOrderSearch rechargeOrderSearch);
}
